1. Field of the Invention
This invention relates to pre-download of network objects from a server, such as used in conjunction with an internetworking environment.
2. Related Art
In computer networks, client devices often request and receive information from server devices. A common example of such client-server interaction occurs during use of the World Wide Web, in which a web client (sometimes called a web xe2x80x9cbrowserxe2x80x9d) requests web pages and embedded network objects from a web server (sometimes called a xe2x80x9cweb sitexe2x80x9d).
One problem in the known art is that web clients experience some delay between the time they request a web page from a web server, and the time that web page is presented by the web client software to the user. This delay can be due to the size of the web page, the network distance to the web server, the load on the web server, or other factors. It would be advantageous to reduce the latency time during which users are waiting for web pages to be delivered and presented from web servers.
One known method is to provide a cache at the web client device. This cache can take the form of a section of memory or mass storage reserved for web pages that the user has already requested or that the web client thinks the user is likely to request in the near future. This cache can also take the form of a separate device that maintains memory or mass storage for web pages for a plurality of users. If the web page requested by the user are already stored in the cache, they can be presented to the user without delay due to requesting and receiving that data from the web server.
While this known method can achieve the general result of reducing the latency time for delivery and presentation of web pages, it has the drawback that it is not as effective as possible at determining which web pages are most likely to be requested. It is thus not as effective as possible at anticipating which web pages the user is likely to request and have those web pages already received from the web server.
Accordingly, it would be advantageous to provide a technique for pre-download of network objects from a server, such as used in conjunction with an internet-working environment, which reduces time users wait for delivery and presentation of those web pages. This advantage is achieved in an embodiment of the invention in which a web server maintains statistical information regarding which web pages are most likely to be requested by users, and pre-downloads those web pages to associated web clients in advance of actual requests being made by the user.
The invention provides a method and system for pre-downloading network objects from a server, such as used in conjunction with an internetworking environment. A web server maintains information regarding which web pages are most likely to be requested by users, and pre-downloads those web pages to associated web clients in advance of actual requests being made by the user. This allows the user to receive the web page prior to actual request, and thus reduces time the user waits for delivery of the web page.
The web server maintains statistical information responsive to requests for information made by users, to estimate which links between web pages are most likely to be followed. The web server provides this information to web clients as hints for pages for the web server to pre-download. The web server also maintains rules regarding web pages most desirable to present to users, to provide the greatest value for the web site. These rules can be responsive to statistical measures, to information about categories of users, to demographic information, to past behavior of specific users at the web site, or to other relevant factors.
The invention provides an enabling technology for reducing latency delay in providing information, so as to obtain substantial advantages and capabilities that are novel and non-obvious in view of the known art. Examples described below relate to web pages, but the invention is broadly applicable to many different types of requests for information (such as for example database queries and other libraries of information).